package com.zoshine.zzg.service;

import com.github.pagehelper.util.StringUtil;
import com.zoshine.zzg.dao.GoodsTypeDao;
import com.zoshine.zzg.exception.AppException;
import com.zoshine.zzg.exception.ErrorMessage;
import com.zoshine.zzg.pojo.GoodsType;
import com.zoshine.zzg.util.idworker.IdWorker;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.Date;
import java.util.List;

/**
 * 商品类型ServiceImpl
 * @author tianpeiling
 *
 */
@Service
@Transactional
public class GoodsTypeService extends BaseService<GoodsType> {
    @Autowired
    private GoodsTypeDao goodsTypeDao;


    public List<GoodsType> listGoodsTypeHasGoods() {
        return goodsTypeDao.selectGoodsTypeHasGoods();
    }
//	private IdWorker<Long> goodsTypeIdWorker;
//    private GoodsTypeDao goodsTypeDao;
//
//    @Autowired
//    public void setGoodsTypeDao(GoodsTypeDao goodsTypeDao) {
//		this.goodsTypeDao = goodsTypeDao;
//	}
//    @Autowired
//	public void setGoodsTypeIdWorker(IdWorker<Long> goodsTypeIdWorker) {
//		this.goodsTypeIdWorker = goodsTypeIdWorker;
//	}

//	@Override
//	public void delGoodsType(Long typeId) {
//		if(typeId == null){
//			throw new AppException(ErrorMessage.GOODS_TYPE_ID_CAN_NOT_BE_NULL);
//		}
//		 goodsTypeDao.delete(typeId);
//	}
//
//	@Override
//	public void addGoodsType(GoodsType goodsType) {
//		if(StringUtil.isEmpty(goodsType.getTypeName())){
//			throw new AppException(ErrorMessage.GOODS_TYPE_NAME_CAN_NOT_BE_NULL);
//		}
//		if(goodsType.getTypeName().length() > 20){
//			throw new AppException(ErrorMessage.GOODS_TYPE_NAME_CAN_NOT_OVER_20);
//		}
//		goodsType.setTypeId(goodsTypeIdWorker.createId());
//		goodsType.setCreateTime(new Date());
//		goodsType.setUpdateTime(new Date());
////		goodsType.setStatus(1);
//		goodsTypeDao.insert(goodsType);
//	}
//
//	@Override
//	public GoodsType getGoodsType(Long typeId) {
//		if(typeId == null){
//			throw new AppException(ErrorMessage.GOODS_TYPE_ID_CAN_NOT_BE_NULL);
//		}
//		return goodsTypeDao.selectOne(typeId);
//	}
//
//	@Override
//	public void editGoodsType(GoodsType goodsType) {
//		if(null == goodsType.getTypeId()){
//			throw new AppException(ErrorMessage.GOODS_TYPE_ID_CAN_NOT_BE_NULL);
//		}
//		if(StringUtil.isEmpty(goodsType.getTypeName())){
//			throw new AppException(ErrorMessage.GOODS_TYPE_NAME_CAN_NOT_BE_NULL);
//		}
//		if(goodsType.getTypeName().length() > 20){
//			throw new AppException(ErrorMessage.GOODS_TYPE_NAME_CAN_NOT_OVER_20);
//		}
//		goodsType.setUpdateTime(new Date());
//		goodsTypeDao.update(goodsType);
//	}
//
//	@Override
//	public List<GoodsType> listGoodsType() {
//		return goodsTypeDao.selectList();
//	}



}
